4.6 Optimal Binary Search Tree - Dynamic Programming